﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Xml.Serialization;

namespace LdtJudge.DataEngine.Model.EvidenceDerivation
{
    /// <summary>
    /// 证据实体与非实体比对配置
    /// </summary>
    [XmlRootAttribute("root" ,IsNullable =false)]
    public class SameEvidenceCompareConfig
    {
        /// <summary>
        /// 案件类型集合
        /// </summary>
        [XmlElementAttribute("casetype")]
        public List<EvidenceCompareCaseType> CaseTypes { get; set; }
    }

    /// <summary>
    /// 案件类型
    /// </summary>
    public partial class EvidenceCompareCaseType
    {
        /// <summary>
        /// 案件类型编号
        /// </summary>
        [XmlAttribute("value")]
        public string Value { get; set; }

        /// <summary>
        /// 证据文书集合
        /// </summary>
        [XmlElementAttribute("doctype")]
        public List<EvidenceCompareDocType> DocTypes { get; set; }

    }

    /// <summary>
    /// 证据文书
    /// </summary>
    public partial class EvidenceCompareDocType
    {

        /// <summary>
        /// 证据文书编号
        /// </summary>
        [XmlAttribute("value")]
        public string Value { get; set; }

        /// <summary>
        /// 比对条件集合
        /// </summary>
        [XmlElementAttribute("condition")]
        public List<EvidenceCompareCondition> Conditions { get; set; }
    }

    /// <summary>
    /// 证据比对条件
    /// </summary>
    public partial class EvidenceCompareCondition
    {
        /// <summary>
        /// 比对路径
        /// </summary>
        [XmlAttribute("where")]
        public string ComparePath { get; set; }

        /// <summary>
        /// 比对操作符
        /// </summary>
        [XmlAttribute("operation")]
        public string CompareOperation { get; set; }

        /// <summary>
        /// 子级比对条件集合
        /// </summary>
        [XmlElementAttribute("condition")]
        public List<EvidenceCompareCondition> Conditions { get; set; }
    }
}
